home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / OutOfPhase1.1 Source / OutOfPhase Folder / Multisampler.h < prev    next >
Text File  |  1994-06-08  |  2KB  |  56 lines

  1. /* Multisampler.h */
  2.  
  3. #ifndef Included_Multisampler_h
  4. #define Included_Multisampler_h
  5.  
  6. /* Multisampler module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* Memory */
  12. /* SampleSelector */
  13. /* SampleObject */
  14. /* AlgoSampObject */
  15. /* WaveTableObject */
  16. /* AlgoWaveTableObject */
  17. /* SampleConsts */
  18.  
  19. #include "SampleConsts.h"
  20.  
  21. struct MultiSampleRec;
  22. typedef struct MultiSampleRec MultiSampleRec;
  23.  
  24. /* forwards */
  25. struct SampleSelectorRec;
  26.  
  27. /* create a new multisampling object based on a list of wave tables */
  28. /* the named references in the Selector should have been resolved, but it is */
  29. /* the parser's job to do that. */
  30. MultiSampleRec*                NewMultisampleWaveTable(struct SampleSelectorRec* Selector);
  31.  
  32. /* create a new multisampling object based on a list of samples */
  33. /* the named references in the Selector should have been resolved, but it is */
  34. /* the parser's job to do that. */
  35. MultiSampleRec*                NewMultisampleSample(struct SampleSelectorRec* Selector);
  36.  
  37. /* dispose of a multisampling object */
  38. void                                    DisposeMultisample(MultiSampleRec* Multisample);
  39.  
  40. /* obtain a data reference & info for a wave table.  returns False if there is */
  41. /* no wave table corresponding to the supplied frequency */
  42. MyBoolean                            GetMultisampleReferenceWaveTable(MultiSampleRec* Multisample,
  43.                                                 float FrequencyHertz, void*** TwoDimensionalVecOut,
  44.                                                 long* NumFramesOut, long* NumTablesOut,
  45.                                                 NumBitsType* NumBitsOut);
  46.  
  47. /* obtain a data reference & info for a sample.  returns False if there is no */
  48. /* sample corresponding to the supplied frequency. */
  49. MyBoolean                            GetMultisampleReferenceSample(MultiSampleRec* Multisample,
  50.                                                 float FrequencyHertz, void** DataOut, long* NumFramesOut,
  51.                                                 NumBitsType* NumBitsOut, NumChannelsType* NumChannelsOut,
  52.                                                 long* Loop1StartOut, long* Loop1EndOut, long* Loop2StartOut,
  53.                                                 long* Loop2EndOut, long* Loop3StartOut, long* Loop3EndOut,
  54.                                                 long* OriginOut, double* NaturalFreqOut, long* SamplingRateOut);
  55. #endif
  56.